#ifndef PUZZLE_EFFECT_H_
#define PUZZLE_EFFECT_H_

//@Include: erase_effect.h
//@Include: slide_effect.h

// INCLUDES //
#include "region_effect.h"
//////////////

/**
* An effect that is used on a puzzle region.
* 
* @author dfoelber
**/
class PuzzleEffect : public RegionEffect
{
public:
	/**
	* Constructor
	* 
	* @param owner The owner to this effect
	**/
	PuzzleEffect(RegionEffectOwner* owner) :
		RegionEffect(owner)
	{
	}
	
	/**
	* Virtual destructor
	**/
	virtual ~PuzzleEffect() {}
	
	/**
	* Notifies the effect that the finish state of the puzzle region is finished.
	**/
	virtual void OnFinishCompleted() = 0;
};

#endif /*PUZZLE_EFFECT_H_*/
